4.10.2.1 Creare un Cielo Usando un Gradiente di Colore
Fig. 174-Usare i gradienti
La parte interessante è la frase
sky_sphere{...}.
Contiene un pigmento che descrive l'aspetto del cielo. Dato che viene usato
un vettore direzione per calcolare i colori del pigmento dobbiamo usare
un gradient y.
Le trasformazioni scale
e translate
sono usate per mappare i punti ottenuti dal vettore direzione nell'intervallo
corretto. Senza queste trasformazioni il gradiente sarebbe ripetuto due
volte sulla sfera celeste. L'istruzione scale
è usata per evitare la ripetizione del gradiente e l'istruzione
translate -1
sposta la componente 0 della color_map
sul fondo della sfera (il punto della sfera celeste che vedi guardando
in giù). Dopo questa trasformazione il colore alla posizione zero
nella mappatura sarà sul fondo della sfera celeste, cioè
sotto di noi e il colore alla posizione 1 sarà in cima cioè
sopra di noi.
I colori di tutte le altre posizioni sono interpolati tra queste due come
si può vedere nell'immagine risultante.
Se vuoi far iniziare uno dei colori ad un particolare angolo dovrai prima
convertire l'angolo ad un valore da inserire nella mappatura dei colori.
Ciò si ottiene usando la formula :
valore =(1-cos(angolo))/2
dove l'angolo è misurato rispetto
alla normale negativa della superficie della terra, cioè la normale
alla superficie che punta verso il centro della terra. Un angolo di 0 gradi
descrive il punto sotto di noi, mentre un angolo di 180 gradi rappresenta
lo zenit.
In POV-Ray devi prima convertire il valore in gradi a radianti come si
mostra nel seguente esempio.
sky_sphere {
pigment {
gradient y
color_map {
[(1-cos(radians( 30)))/2 color Red]
[(1-cos(radians(120)))/2 color Blue]
}
scale 2
translate -1
}
}
Fig. 175-Gradiente
Questa scena usa un gradiente di colore che inizia col rosso a 30 gradi e sfuma nel blu a 120 gradi. Sotto i 30 gradi è tutto rosso mentre sopra i 120 è tutto blu.